package engine.display.newAttack.vo
{
	import flash.geom.Point;
	
	import newx.com.config.StaticIni;

	public class AttackActionVo
	{
		/**
		 *	技能编号 
		 */
		public var skill	 		: String;
		
		/**
		 *	吟唱时间 
		 */
		public var showTime 		: String;
		
		/**
		 * 跑去速度
		 */
		public var runOverSpeed	: Number;
		
		/**
		 * 跑去速度
		 */
		public var runBackSpeed	: Number;
		
		/**
		 *	打击次数 
		 */
		public var hitCount		: int;
		
		/**
		 *	技能类型 
		 */
		public var flag			: String;
		
//		/**
//		 * 特效ID
//		 */
//		public var effectId		: String;
		
		/**
		 * 受伤特效	
		 */
		public var beAttactEffectSkin 	: String;
		
		/**
		 * 受伤点标记
		 */
		public var beAttactEffectPos : String;
		
//		/**
//		 * 开始特效	
//		 */
//		public var startEffectData	 : Object;
//		
//		/**
//		 * 开始特效播放标记
//		 */
//		public var startEffectPos 	: String;
//		
//		/**
//		 * 开始特效播放后延伸次时间后继续后面流程,时间单位:秒
//		 */
//		public var startEffecDelay	: Number;
		
		/**
		 * 播放特效时是否需要场景背景变黑
		 */
		public var needSceneBlack 	: Boolean;
		
		/**
		 * 攻击时技能特效（绝技）
		 */
		public var effectSkin		: String;
		
		/**
		 *	特效产生点 
		 */		
		public var startPoint		: Point;
		
		public var effectPos		: String = "chest";
		
		/**
		 * 攻击类型(技能攻击/一般攻击)
		 */
		public var skillAttackType	: int;
			
		public function AttackActionVo( flow : FlowVo )
		{
			//技能编号
			skill			=	flow.skill;
			
			var skillObj : Object = StaticIni.getIniObj( skill );
			//吟唱时间
			showTime		=	skillObj.Fight_ShowTime;
			
			//跑去速度
			runOverSpeed	=	Number( 4000 );
			//跑回
			runBackSpeed	=	Number( 5000 );
			//打击次数
			hitCount		=	int( skillObj.Fight_HitCount );
			
			skillAttackType	=	int( skillObj.SkillAttackType ) == 1 ? 5 : 3 ;
			
			//12010
			//（单人：0，多人1 (随机),多人2（不随机））+（近：0，远：1，法：2）+（非弹道：0，弹道：1）+（无：0，粒子：1，非粒子：2）+（buff：0，非buff：1）；
			flag			=	skillObj.SkillActFlag;
			
			var effectObj	: Object = StaticIni.getIniObj(  skillObj.EffectId );
			
			if( null != effectObj )
			{
				//受伤特效			
				beAttactEffectSkin	=	effectObj[ "beAttactEffect" ];
				
				//受伤点标记
				beAttactEffectPos	=	effectObj[ "beAttactEffectPos" ];
				
				//技能特效
				effectSkin			=	effectObj[ "skin" ];
				
				effectPos 			=	effectObj[ "skinpos" ];
			}
			
			if(beAttactEffectPos == null)
			{
				beAttactEffectPos	=	"chest";
			}
			
//			//开始特效			
//			startEffectData		=	StaticIni.getIniObj( skillObj.startEffect );
//			
//			//开始特效播放标记
//			startEffectPos	=	skillObj.startEffectPos;
//			
//			if(startEffectPos == "")
//			{
//				startEffectPos	=	"origin";
//			}
//			
//			//开始特效播放后延伸次时间后继续后面流程,时间单位:秒
//			startEffecDelay	=	int( skillObj.startEffectDelay );
			
			//播放特效时是否需要场景背景变黑
			needSceneBlack	=	skillObj.needSceneBlack == "1";
			
//			var shapeType : int = skillObj.ShapeType;
//			
//			if( shapeType ==  1 )
//			{//水平
//				startPoint = getRowStartPoint( flow.targetPos );
//			}else if( shapeType == 2 )
//			{//垂直
//				startPoint = getColStartPoint( flow.targetPos );
//			}
		}
	}
}